package com.linx.system.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.linx.common.core.domain.dto.OssDTO;
import com.linx.common.excel.annotation.ExcelDictFormat;
import com.linx.common.excel.convert.ExcelDictConvert;
import com.linx.common.translation.annotation.TranslationSupper;
import com.linx.common.translation.constant.TransConstant;
import com.linx.system.domain.ProblemFeedback;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;


/**
 * 问题反馈视图对象 problem_feedback
 *
 * @author linx
 * @date 2024-12-23
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ProblemFeedback.class)
public class ProblemFeedbackVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long problemFeedbackId;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 问题描述
     */
    @ExcelProperty(value = "问题描述")
    private String problemDesc;

    /**
     * 反馈状态（1，已提交，2处理完成）
     */
    @ExcelProperty(value = "反馈状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "problem_feedback_status")
    private Long problemFeedbackStatus;

    /**
     * 回复
     */
    @ExcelProperty(value = "回复")
    private String problemFeedbackReply;

    /**
     * 反馈人
     */
    @ExcelProperty(value = "反馈人")
    private Long userId;

    /**
     * 回复人
     */
    @ExcelProperty(value = "回复人")
    private Long replyUserId;

    /**
     * 反馈人
     */
    @TranslationSupper(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "userId")
    private String userName;
    /**
     * 回复人
     */
    @TranslationSupper(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "replyUserId")
    private String replyUserName;

    @TranslationSupper(type = TransConstant.BIZ_TO_OSS, mapper = "problemFeedbackId")
    private List<OssDTO> imgUrlList;
    /**
     * 反馈人手机号
     */
    private String problemFeedbackMobile;

}
